perm filename QQ.SAI[SAI,BGB] blob sn#067711 filedate 1973-11-17 generic text, type T, neo UTF8
COMMENT ⊗   VALID 00003 PAGES 
RECORD PAGE   DESCRIPTION
 00001 00001
 00002 00002	BEGIN "QQ"
 00004 00003	S⊂ "LOOP" 
 00005 ENDMK
⊗;
BEGIN "QQ"
	REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;

	DEFINE CALLI="'047000000000";
	DEFINE SWAR ="'043000000000";
	DEFINE UPG  ="'703000000000";

	ITG ARRAY DPYBUF [0:13600];
	ITG ARRAY FRAME[0:15];
	ITG ARRAY SIZE[0:15];
	ITG I,J,FLG;
	ITG PTR,SIZ;
	STRING FILM;
	LABEL L1;

L1:	OUTSTR(↓&9&"FILM NAME = ");
	FILM ← INCHWL;
	PTR ← 0;
α LOAD 'EM UP;
	FOR I←1 TO 40 DO OUTSTR(↓);
	FOR I←0 STEP 1 UNTIL '17 DO
	BEGIN
		OPEN(1,"DSK",8,3,0,0,0,0);
		LOOKUP(1,FILM&CVOS(I)&".PLT[999,BGB]",FLG);
		IF FLG THEN GO L1;
		J ← WORDIN(1);
		SIZ ← WORDIN(1);
		ARRYIN(1,DPYBUF[PTR],SIZ);
		RELEASE(1);
		FRAME[I]←LOCATION(DPYBUF[PTR]);
		SIZE[I]←SIZ;
		PTR←PTR+SIZ;
	END;

S⊂ "LOOP" 
	LABEL L0,L1,SA,L2,L3;

α FIRE UP SPACE WAR JOB;
L0:	SETZM I;
	MOVEI SA;
	HRLI '400014;
	CALLI '400003;
	CALLI '400017;

α SLEEP - PER CHANCE TO DREAM;
L1:	MOVEI 1,10;
	CALLI 1,'31;
	JFCL;
	JRST L1;

α SPACE WAR MODULE;
SA:	AOS 1,I;CAIL 1,'20;SETZB 1,I;
	MOVE 1,I; ADD 1,FRAME; MOVE (1); MOVEM PTR;
	MOVE 1,I; ADD 1,SIZE;  MOVE (1); MOVEM SIZ;
	JRST 3,@L2;L2: L3;L3: UPG PTR;
	JFCL;
	CALLI '400024;
END;
END "QQ";